// format.js

// 定义 user 对象
const user = {
    name: "张三",
    age: 25,
    qq: "123456789"
};

// 方法一：使用 console.log() 的占位符
console.log("=== 使用 console.log() 占位符 ===");
console.log("姓名：%s, 年龄：%d, QQ：%s", user.name, user.age, user.qq);

// 方法二：使用 util.format()
const util = require('util');
console.log("\n=== 使用 util.format() ===");
console.log(util.format("姓名：%s, 年龄：%d, 用户信息：%j", user.name, user.age, user));

// 方法三：使用模板字符串（ES6）
console.log("\n=== 使用模板字符串 ===");
console.log(`姓名：${user.name}, 年龄：${user.age}, 用户信息：${JSON.stringify(user)}`);

// 演示不同占位符的效果
console.log("\n=== 占位符详细演示 ===");
console.log("字符串占位符 %%s: %s", "这是一个字符串");
console.log("整数占位符 %%d: %d", 42);
console.log("浮点数占位符 %%f: %f", 3.14159);
console.log("JSON对象占位符 %%j: %j", {name: "李四", score: 95.5});

// 验证变量类型
console.log("\n=== 变量类型验证 ===");
console.log("name 字段类型:", typeof user.name);        // string
console.log("age 字段类型:", typeof user.age);          // number
console.log("qq 字段类型:", typeof user.qq);            // string
console.log("user 对象类型:", typeof user);             // object